package com.ruoyi.admin.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.admin.domain.entity.WaybillModel;
import com.ruoyi.admin.domain.vo.response.waybill.WaybillPageResponse;
import com.ruoyi.admin.domain.vo.response.waybill.WaybillResponse;
import com.ruoyi.common.api.Result;

/**
 * 快递(Waybill) Service接口
 *
 * @author jianhan
 * @date 2022-12-07 15:41:41
 */
public interface WaybillService extends IService<WaybillModel> {

    /**
     * 根据id获取单条数据信息
     *
     * @param waybillId 快递id
     * @return 单条数据信息
     * @author jianhan
     * @date 2022-12-07 15:41:41
     **/
    Result<WaybillResponse> getId(Long waybillId);

    /**
     * 分页获取列表
     *
     * @param page         分页信息
     * @param waybillModel 查询条件
     * @return 单页数据
     * @author jianhan
     * @date 2022-12-07 15:41:41
     **/
    Result<WaybillPageResponse> page(Page<WaybillModel> page, WaybillModel waybillModel);

    /**
     * 添加快递
     *
     * @param waybillModel 快递信息
     * @return 添加结果
     * @author jianhan
     * @date 2022-12-07 15:41:41
     **/
    Result add(WaybillModel waybillModel);

    /**
     * 修改快递
     *
     * @param waybillModel 快递信息
     * @return 修改结果
     * @author jianhan
     * @date 2022-12-07 15:41:41
     **/
    Result update(WaybillModel waybillModel);

    /**
     * @description:  本月损耗
     * @param:
     * @return: monthlyLossVo
     * @author: jianhan
     * @date: 2023/2/9 16:13
     **/
    Result lose();

    /**
     * 删除快递
     *
     * @param waybillId 快递id
     * @return 删除结果
     * @author jianhan
     * @date 2022-12-07 15:41:41
     **/
    Result delete(Long waybillId);

}
